// 导入数据库操作模块
const db = require('../db/index')





// 获取文章评论列表
exports.commentsCatesCates = (req, res) => {
    // 根据acticle_id，获取所有文章评论列表数据
    const sql = 'select * from comments where acticle_id=?'
    db.query(sql, req.body.acticle_id, (err, results) => {
        // 1. 执行 SQL 语句失败
        if (err) return res.cc(err)
      
        // 2. 执行 SQL 语句成功
        res.send({
          status: 0,
          message: '获取评论成功！',
          data: results,
        })
      })
      
  }


// 新增评论的路由
exports.addCommentsCates = (req, res) => {

        // 定义插入 新增评论的SQL 语句
        const sql = `insert into comments set ?`

        const commentsInfo = {
          ...req.body,
          // 评论发布时间
          comments_time: new Date(),
          // 评论作者的Id
          comments_user_id: req.user.user_id,
          nickname:req.user.nickname,
          head_img:req.user.head_img
          }
        // 执行插入新增评论的 SQL 语句
        db.query(sql, commentsInfo, (err, results) => {
            // SQL 语句执行失败
            if (err) return res.cc(err)
          
            // SQL 语句执行成功，但是影响行数不等于 1
            if (results.affectedRows !== 1) return res.cc('新增评论失败！')
          
            //新增评论成功
            res.cc('新增评论成功！', 0)
          })
  
}


// 删除文章评论处理函数
exports.deleteCommentsById = (req, res) => {
    
        const sql = `delete from comments where comments_id=?`
    
        db.query(sql, req.body.comments_id, (err, results) => {
            // 执行 SQL 语句失败
            if (err) return res.cc(err)
          
            // SQL 语句执行成功，但是影响行数不等于 1
            if (results.affectedRows !== 1) return res.cc('删除文章评论失败！')
          
            // 删除文章评论成功
            res.cc('删除文章评论成功！', 0)
          })
      
}
  

// 新增回复的路由
exports.addReplyCates = (req, res) => {

  // 定义插入 新增回复的SQL 语句
  const sql = `insert into reply set ?`

  const commentsInfo = {
    ...req.body,
    // 回复发布时间
    reply_time: new Date(),
    // 回复作者的Id
    reply_user_id: req.user.user_id,
    reply_nickname:req.user.nickname,
    head_img:req.user.head_img
    }
  // 执行插入新增回复的 SQL 语句
  db.query(sql, commentsInfo, (err, results) => {
      // SQL 语句执行失败
      if (err) return res.cc(err)
    
      // SQL 语句执行成功，但是影响行数不等于 1
      if (results.affectedRows !== 1) return res.cc('新增回复失败！')
    
      //新增回复成功
      res.cc('新增回复成功！', 0)
    })

}

  
//  获取评论回复列表
exports.replyCatesCates = (req, res) => {
  // 根据comments_id，获取所有评论回复列表数据
  const sql = 'select * from reply where comments_id=?'
  db.query(sql, req.body.comments_id, (err, results) => {
      // 1. 执行 SQL 语句失败
      if (err) return res.cc(err)
    
      // 2. 执行 SQL 语句成功
      res.send({
        status: 0,
        message: '获取评论成功！',
        data: results,
      })
    })
    
}

  // 删除文章评论处理函数
exports.deleteReplyById = (req, res) => {
    
  const sql = `delete from reply where reply_id=?`

  db.query(sql, req.body.reply_id, (err, results) => {
      // 执行 SQL 语句失败
      if (err) return res.cc(err)
    
      // SQL 语句执行成功，但是影响行数不等于 1
      if (results.affectedRows !== 1) return res.cc('删除评论回复失败！')
    
      // 删除评论回复成功
      res.cc('删除评论回复成功！', 0)
    })

}
  